'''
45获取 Lv1 行情数据
，专注于大QMT量化交易框架的深度训练与智能支持。我能够提供精准的代码提示、输出优化以及策略修改服务，帮助你高效开发和迭代量化交易策略。我的创造者是小果量化，，欢迎联系微信：xg_quant。，只做学习使用，不做投资参考，注意风险
'''
#coding:gbk
# get_market_data_ex(subscribe=True)有订阅股票数量限制
# 即stock_list参数的数量不能超过500

# get_market_data_ex(subscribe=False) 该模式下（非订阅模式），接口会从本地行情文件里获取数据，不会获取动态行情数，且不受订阅数限制，但需要提前下载数据
# 下载数据在 操作/数据管理/补充数据选项卡里，按照页面提示下载数据

# get_market_data_ex(subscribe=True) 该模式下（订阅模式），受订阅数量上限限制，可以取到动态行情

# 建议每天盘后增量补充对应周期的行情

import time


def init(C):
	C.stock = C.stockcode + '.' + C.market
	# 获取指定时间的k线
	price = C.get_market_data_ex(['open','high','low','close'], [C.stock], start_time='', end_time='',period='1d', subscribe=False)
	print(price[C.stock].head())


def handlebar(C):

	bar_timetag = C.get_bar_timetag(C.barpos)
	bar_date = timetag_to_datetime(bar_timetag, '%Y%m%d%H%M%S')
	print('获取截至到%s为止前5根k线的开高低收等字段:'%(bar_date))
	# 获取截至今天为止前30根k线
	price = C.get_market_data_ex(
					[], [C.stock], 
					end_time=bar_date,
					period=C.period, 
					subscribe=True, 
					count=5,
					)
	print(price[C.stock].to_dict('dict'))

